home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2005 May / Gamestar_73_2005-05_dvd.iso / Dema / restrictedarea_demo_us.exe / {app} / GFX / comic / comic.pb
Encoding:
Text File  |  2004-09-13  |  20.7 KB  |  620 lines

  1. #Comic_PosX = 0
  2. #Comic_PosY = 92
  3.  
  4. Global Comic_GFX.l          ; Grafik Refernz fⁿr den Comic 
  5. Global Comic_SFX.l          ; Sound Referenz fⁿr den Comic
  6. Global Comic_NextGFX.l      ; Welche Referenz wird als nΣchste benutzt
  7. Dim Comic_GFXInNeed.l(1)    ; Ist die Referenz im Speicher?
  8. Global Comic_SFXInNeed.l    ; Ist der Sound im Speicher
  9. Global Global_ComicWavTime.l ; Zeit die die Aktuelle Wav Datei Spielt!
  10.  
  11. Procedure Load_ComicGFX()
  12.  Comic_GFXInNeed.l(Comic_NextGFX) = 1 ; Die Grafik ist geladen!
  13.  CatchSprite(Comic_GFX.l+Comic_NextGFX.l,NextPackFile(),#PB_Sprite_Texture)
  14.  CreateSprite3D(Comic_GFX.l+Comic_NextGFX.l,Comic_GFX.l+Comic_NextGFX.l)
  15.  TransformSprite3D(Comic_GFX.l+Comic_NextGFX.l,0,0,1023,0,1023,576,0,576)
  16.  Comic_NextGFX.l = 1 - Comic_NextGFX.l
  17. EndProcedure
  18.  
  19. Procedure Load_ComicSFX()
  20.  If Comic_SFXInNeed = 1
  21.   FreeSound(Comic_SFX.l)
  22.  EndIf
  23.  Comic_SFXInNeed = 1
  24.  a.l = NextPackFile()
  25.  Temp.f = PackFileSize() - 44
  26.  Temp.f = Temp.f / 88.2
  27.  Global_ComicWavTime.l = Temp.f
  28.  CatchSound(Comic_SFX.l,a.l)
  29. EndProcedure
  30.  
  31. Procedure Fade_Comic(Typus.l)
  32.  Temp.l = 1 - Comic_NextGFX.l
  33. If Typus = 1 ; Einfaden
  34.  Timer.l = GetTickCount_() ; 83 Frames = 1106
  35.  Repeat
  36.   Value.l = GetTickCount_() - Timer.l
  37.   x = 5 + Value.l * 250 / 1106
  38.   If x > 255: x = 255: EndIf
  39.   ClearScreen(0,0,0)
  40.   Start3D()
  41.   DisplaySprite3D(Comic_GFX.l+Temp,#Comic_PosX,#Comic_PosY,x)
  42.   Stop3D()
  43.   StartDrawing(ScreenOutput())
  44.    Line(0,#Comic_PosY,1024,0,0)
  45.   StopDrawing()
  46.   FlipBuffers()
  47.  Until x = 255
  48. ElseIf Typus = 2 ; ▄berfaden
  49.  Timer.l = GetTickCount_() ; 62,5 Frames = 833 ms
  50.  Repeat
  51.   Value.l = GetTickCount_() - Timer.l
  52.   x = 5 + Value.l * 250 / 833
  53.   If x > 255: x = 255: EndIf
  54.   ClearScreen(0,0,0)
  55.   Start3D()
  56.   DisplaySprite3D(Comic_GFX.l+Comic_NextGFX.l,#Comic_PosX,#Comic_PosY,255-x)
  57.   DisplaySprite3D(Comic_GFX.l+Temp,#Comic_PosX,#Comic_PosY,x)
  58.   Stop3D()
  59.   StartDrawing(ScreenOutput())
  60.    Line(0,#Comic_PosY,1024,0,0)
  61.   StopDrawing()
  62.   FlipBuffers()
  63.  Until x = 255
  64. ElseIf Typus = 3 ; Ausfaden
  65.  Timer.l = GetTickCount_() ; 50 Frames = 666 ms
  66.  Repeat
  67.   Value.l = GetTickCount_() - Timer.l
  68.   x = 255 - Value.l * 250 / 666
  69.   If x < 5: x = 5: EndIf
  70.   ClearScreen(0,0,0)
  71.   Start3D()
  72.   DisplaySprite3D(Comic_GFX.l+Temp,#Comic_PosX,#Comic_PosY,x)
  73.   Stop3D()
  74.   StartDrawing(ScreenOutput())
  75.    Line(0,#Comic_PosY,1024,0,0)
  76.   StopDrawing()
  77.   FlipBuffers()
  78.   Until x = 5
  79. EndIf
  80. EndProcedure
  81.  
  82. Procedure Play_ComicSFX(Typus.l)
  83. ; Typus: 1=Spielen und weiterlaufen lassen, 2=Spielen bis Ende und dann weiter, 3=Wiederholt spielen
  84.  If Typus = 1
  85.   PlaySound(Comic_SFX.l,0)
  86.  ElseIf Typus = 2
  87.   PlaySound(Comic_SFX.l,0)
  88.   ; ? ? ?
  89.  ElseIf Typus = 3
  90.   PlaySound(Comic_SFX.l,1)
  91.  EndIf
  92. EndProcedure
  93.  
  94. ; Eine Entscheidung im Comic machen!
  95. Procedure Comic_Entscheidung(Nr.l)
  96.  PlaySound(Herz_SFX.l,1)
  97.  Temp.l = 1 - Comic_NextGFX.l
  98.  Filename.s = "Data\Speech0\Comic\Entscheidung" + Str(Nr.l) + ".dat"
  99.  Old_Entscheidung.l = 0
  100.  If ReadFile(0,Filename.s) = 0
  101.   Error_Msg(Filename.s + " not found")
  102.  EndIf
  103.  String1.s = ReadString()
  104.  String2.s = ReadString()
  105.  If Nr.l = 22 And ObjektChar_Att_Typus(1) > 2; Wenn man eine Frau ist
  106.   String2.s = ReadString()
  107.  EndIf
  108.  If Nr = 1
  109.   If ObjektChar_Att_Typus(1) = 1
  110.    OpenPack("GFX\Comic\Entscheidung1.pak")
  111.   ElseIf ObjektChar_Att_Typus(1) = 2 Or ObjektChar_Att_Typus(1) = 4
  112.    OpenPack("GFX\Comic\Entscheidung2.pak")
  113.   ElseIf ObjektChar_Att_Typus(1) = 3
  114.    OpenPack("GFX\Comic\Entscheidung3.pak")
  115.   EndIf
  116.  Else
  117.   OpenPack("GFX\Comic\Entscheidung" + Str(Nr) + ".pak")
  118.  EndIf
  119.  CatchSprite(Comic_GFX,NextPackFile(),0)
  120.  ClosePack()
  121.  
  122.  Repeat
  123.   ClearScreen(0,0,0)
  124.   Start3D()
  125.   DisplayTransparentSprite(Comic_GFX.l,0,19)
  126.   Stop3D()
  127. ;  StartDrawing(ScreenOutput())
  128. ;   Line(0,#Comic_PosY,1024,0,0)
  129. ;  StopDrawing()
  130.   Old_Entscheidung.l = Old_Entscheidung.l * -1
  131.  
  132.   If MausY > 688 And MausY < 688+20
  133.    SchreibeChar(String1.s,512,690,1,2)
  134.    If Maus_Taste(1) = 2
  135.     Entscheidung = 1
  136.    EndIf
  137.    If Old_Entscheidung.l <> -1
  138.     Play_Sound(#SFX_Beep1,-1,-1,0,50,0)
  139.    EndIf
  140.    Old_Entscheidung.l = 1
  141.   Else
  142.    SchreibeChar(String1.s,512,690,1,1)
  143.   EndIf
  144.   
  145.   If MausY > 718 And MausY < 718+20
  146.    SchreibeChar(String2.s,512,720,1,2)
  147.    If Maus_Taste(1) = 2
  148.     Entscheidung = 2
  149.    EndIf
  150.    If Old_Entscheidung.l <> -2
  151.     Play_Sound(#SFX_Beep1,-1,-1,0,50,0)
  152.    EndIf
  153.    Old_Entscheidung.l = 2
  154.   Else
  155.    SchreibeChar(String2.s,512,720,1,1)
  156.   EndIf
  157.   ; Input an Mouse
  158.   If Old_Entscheidung.l < 1
  159.    Old_Entscheidung.l = 0
  160.   EndIf
  161.  
  162.    ExamineKeyboard()
  163.    ExamineMouse()
  164.    MausX = MouseX()
  165.    MausY = MouseY()
  166.    Mausold = Maus_Taste(1)
  167.    Maus_Taste(1) = MouseButton(Option(7))
  168.    If Maus_Taste(1) > 0 And Mausold = 0
  169.     Maus_Taste(1) = 2
  170.    ElseIf Maus_Taste(1) = 0 And Mausold > 0
  171.     Maus_Taste(1) = -1
  172.    EndIf
  173.    a.l = Interface_GFX(1) 
  174.    d.l = Interface_Anim.f(1)
  175.    d.l = d.l / 4
  176.    a.l = a.l + d.l + 1
  177.    DisplayTransparentSprite(a.l, MausX, MausY)
  178.    Interface_Anim.f(1) + 0.5
  179.    If Interface_Anim.f(1) > 23+12
  180.     Interface_Anim.f(1) = 0
  181.    EndIf
  182.   ; Ende Input und Maus
  183.   FlipBuffers()
  184.   If Keyboard_Released(2)
  185.    Entscheidung = 1
  186.   ElseIf Keyboard_Released(3)
  187.    Entscheidung = 2
  188.   EndIf
  189.  Until Entscheidung > 0
  190.  StopSound(Herz_SFX.l)
  191.  Play_Sound(#SFX_Click1,-1,-1,0,50,0)
  192.  FreeSprite(Comic_GFX)
  193.  ProcedureReturn Entscheidung
  194. EndProcedure
  195. ; Ende Comic_Entscheidung(Nr.l)
  196.  
  197. ; Zeigt Comic Nr 1 an
  198. Procedure Display_Comic1()
  199. ; Sound Loop 1
  200. ; 1. Bild einfaden, Matrix wird gezeigt
  201. Play_Movie("Movie\Comic01.dat",59)
  202. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(1): Play_ComicSFX(1): Delay(1600)
  203. ; 2. Bilder umfaden
  204. ;Load_ComicGFX(): Fade_Comic(2): Delay(1873)
  205. ; 3. Bilder umfaden, playsound c1-03
  206. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(697)
  207. ; 4. Bilder umfaden, playsound c1-04
  208. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  209. ;Fade_Comic(3) ; Ausfaden
  210. ProcedureReturn 0; Keine Entscheidung!
  211. EndProcedure
  212. ; Ende Display_Comic1()
  213.  
  214. ; Zeigt Comic Nr 2 an
  215. Procedure Display_Comic2()
  216. ; Sound Loop 1
  217. ; 1. Bild einfaden, GefΣngniss Tⁿr geht aus (Laserschranke)
  218. If ObjektChar_Att_Typus(1) = 1
  219.  Play_Movie("Movie\Comic02a.dat",21)
  220. ElseIf ObjektChar_Att_Typus(1) = 2 Or ObjektChar_Att_Typus(1) = 4
  221.  Play_Movie("Movie\Comic03a.dat",21)
  222. ElseIf ObjektChar_Att_Typus(1) = 3
  223.  Play_Movie("Movie\Comic04a.dat",21)
  224. EndIf
  225.  
  226. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(1): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  227. ;; 2. Bilder umfaden, playSund c2-02
  228. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  229. ; 3. Bilder umfaden, playsound c2-03
  230. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  231. ; 4. Bilder umfaden, playsound c2-04
  232. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  233. ; -> Entscheidung
  234. If ObjektChar_Att_Typus(1) = 4
  235.  Entscheidung = 1
  236. Else
  237.  Entscheidung = Comic_Entscheidung(1)
  238. EndIf
  239.  
  240. If Entscheidung = 1 ; Kanal
  241.  If ObjektChar_Att_Typus(1) = 1
  242.   Play_Movie("Movie\Comic02c.dat",21)
  243.  ElseIf ObjektChar_Att_Typus(1) = 2 Or ObjektChar_Att_Typus(1) = 4
  244.   Play_Movie("Movie\Comic03c.dat",19)
  245.  ElseIf ObjektChar_Att_Typus(1) = 3
  246.   Play_Movie("Movie\Comic04c.dat",22)
  247.  EndIf
  248.  ; 5. Bilder umfaden, PlaySound c2-05
  249. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  250.  ; 6. Bilder umfaden, Playsound c2-06
  251. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  252. ElseIf Entscheidung = 2 ; Dach
  253.  If ObjektChar_Att_Typus(1) = 1
  254.   Play_Movie("Movie\Comic02b.dat",10)
  255.  ElseIf ObjektChar_Att_Typus(1) = 2 Or ObjektChar_Att_Typus(1) = 4
  256.   Play_Movie("Movie\Comic03b.dat",09)
  257.  ElseIf ObjektChar_Att_Typus(1) = 3
  258.   Play_Movie("Movie\Comic04b.dat",09)
  259.  EndIf
  260. EndIf
  261.  
  262. ; For x = 1 To 4
  263. ;  a.l = NextPackFile()
  264. ; Next
  265. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  266. ;EndIf
  267. ;Fade_Comic(3)
  268. ProcedureReturn Entscheidung
  269. EndProcedure
  270. ; Ende Display_Comic2()
  271.  
  272. ; zeigt Comic nr. 5 an
  273. Procedure Display_Comic5()
  274. ; Sound Loop 1
  275.  If ObjektChar_Att_Typus(1) = 1
  276.   Play_Movie("Movie\Comic05.dat",18)
  277.  ElseIf ObjektChar_Att_Typus(1) = 2 Or ObjektChar_Att_Typus(1) = 4
  278.   Play_Movie("Movie\Comic06.dat",18)
  279.  ElseIf ObjektChar_Att_Typus(1) = 3
  280.   Play_Movie("Movie\Comic07.dat",18)
  281.  EndIf
  282.  
  283. ; 1. Bild einfaden, Matrix wird gezeigt
  284. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(1): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  285. ; 2. Bilder umfaden
  286. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  287. ; 3. Bilder umfaden, playsound c1-03
  288. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  289. ; 4. Bilder umfaden, playsound c1-04
  290. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  291. ;Fade_Comic(3) ; Ausfaden
  292. ProcedureReturn 0; Keine Entscheidung!
  293. EndProcedure
  294. ; Ende Display_Comic5()
  295.  
  296. ; Zeigt Comic Nr 8 an
  297. Procedure Display_Comic8()
  298. ; Sound Loop 1
  299. ; 1. Bild einfaden, Wissenschaftler tot
  300. Play_Movie("Movie\Comic08a.dat",17) ; Start
  301.  
  302. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(1): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  303. ; 2. Bilder umfaden, Ich lebe noch, und nun?
  304. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  305. ; 3. Bilder umfaden, nur eine L÷sung!
  306. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  307. ; -> Entscheidung
  308. Entscheidung = Comic_Entscheidung(8)
  309. If Entscheidung = 1 ; Retten
  310.  ; 4-8
  311. Play_Movie("Movie\Comic08b.dat",55) ; Retten
  312. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  313. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  314. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  315. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  316. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  317. Else ; If Entscheidung = 2 ; t÷ten
  318. Play_Movie("Movie\Comic08c.dat",7) ; Retten
  319. ; For x = 1 To 5
  320. ;  For y = 1 To 2
  321. ;  a.l = NextPackFile()
  322. ;  Next
  323. ; Next
  324. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  325. EndIf
  326.  
  327. ;Fade_Comic(3)
  328. ProcedureReturn Entscheidung
  329. EndProcedure
  330. ; Ende Display_Comic8()
  331.  
  332. ; Zeigt Comic Nr 9 an
  333. Procedure Display_Comic9()
  334. ; Sound Loop 1
  335. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(1): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  336. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  337. Play_Movie("Movie\Comic09a.dat",19) ; Start
  338.  
  339. ; -> Entscheidung
  340. Entscheidung = Comic_Entscheidung(9)
  341. If Entscheidung = 1 ; T÷ten!
  342.  ; 4-8
  343. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  344. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  345. Play_Movie("Movie\Comic09b.dat",17) ; Start
  346.  
  347. ElseIf Entscheidung = 2 ; Leben lassen
  348. Play_Movie("Movie\Comic09c.dat",17) ; Start
  349. ; For x = 1 To 2
  350. ;  For y = 1 To 2
  351. ;  a.l = NextPackFile()
  352. ;  Next
  353. ; Next
  354. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime+500)
  355. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  356. EndIf
  357.  
  358. Fade_Comic(3)
  359. ProcedureReturn Entscheidung
  360. EndProcedure
  361. ; Ende Display_Comic9()
  362.  
  363. ; Zeigt Comic Nr 10 an
  364. Procedure Display_Comic10()
  365. ; Sound Loop 1
  366. If ObjektChar_Att_Typus(1) = 1
  367.  Play_Movie("Movie\Comic10.dat",68)
  368. ElseIf ObjektChar_Att_Typus(1) = 2
  369.  Play_Movie("Movie\Comic11.dat",68)
  370. ElseIf ObjektChar_Att_Typus(1) = 3
  371.  Play_Movie("Movie\Comic12.dat",68)
  372. ElseIf ObjektChar_Att_Typus(1) = 4
  373.  Play_Movie("Movie\Comic13.dat",68)
  374. EndIf
  375. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(1): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  376. ;For x = 1 To 9
  377. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  378. ;Next
  379. ;Fade_Comic(3) ; Ausfaden
  380. ProcedureReturn 0; Keine Entscheidung!
  381. EndProcedure
  382. ; Ende Display_Comic10()
  383.  
  384. ; Zeigt Comic Nr 14 an
  385. Procedure Display_Comic14()
  386. ; Sound Loop 1
  387. If ObjektChar_Att_Typus(1) = 1
  388.  Play_Movie("Movie\Comic14.dat",21)
  389. ElseIf ObjektChar_Att_Typus(1) = 2
  390.  Play_Movie("Movie\Comic15.dat",21)
  391. ElseIf ObjektChar_Att_Typus(1) = 3
  392.  Play_Movie("Movie\Comic16.dat",22)
  393. ElseIf ObjektChar_Att_Typus(1) = 4
  394.  Play_Movie("Movie\Comic17.dat",15)
  395. EndIf
  396.  
  397. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(1): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  398. ;For x = 1 To 3
  399. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  400. ;Next
  401. ;Fade_Comic(3) ; Ausfaden
  402. ProcedureReturn 0; Keine Entscheidung!
  403. EndProcedure
  404. ; Ende Display_Comic14()
  405.  
  406. ; Zeigt Comic Nr 18 an
  407. Procedure Display_Comic18()
  408. ; Sound Loop 1
  409. If ObjektChar_Att_Typus(1) = 1 Or ObjektChar_Att_Typus(1) = 3
  410.  Play_Movie("Movie\Comic18.dat",20)
  411. Else
  412.  Play_Movie("Movie\Comic19.dat",20)
  413. EndIf
  414.  
  415. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(1): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  416. ;For x = 1 To 3
  417. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  418. ;Next
  419. ;Fade_Comic(3) ; Ausfaden
  420. ProcedureReturn 0; Keine Entscheidung!
  421. EndProcedure
  422. ; Ende Display_Comic18()
  423.  
  424. ; Zeigt Comic Nr 20 an
  425. Procedure Display_Comic20()
  426. ; Sound Loop 1
  427. If ObjektChar_Att_Typus(1) = 1 Or ObjektChar_Att_Typus(1) = 3
  428.  Play_Movie("Movie\Comic20.dat",29)
  429. Else
  430.  Play_Movie("Movie\Comic21.dat",29)
  431. EndIf
  432.  
  433. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(1): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  434. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  435. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  436. ;If ObjektChar_Att_Typus(1) = 1 Or ObjektChar_Att_Typus(1) = 3;(John oder Vicky)
  437. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  438. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  439. ;EndIf
  440.  
  441. ;Fade_Comic(3) ; Ausfaden
  442. ProcedureReturn 0; Keine Entscheidung!
  443. EndProcedure
  444. ; Ende Display_Comic20()
  445.  
  446. ; Zeigt Comic Nr 22 an
  447. Procedure Display_Comic22()
  448. ; Sound Loop 1
  449. If ObjektChar_Att_Typus(1) = 1
  450.  Play_Movie("Movie\comic22.dat",28)
  451. ElseIf ObjektChar_Att_Typus(1) = 2
  452.  Play_Movie("Movie\comic23.dat",28)
  453. ElseIf ObjektChar_Att_Typus(1) = 3
  454.  Play_Movie("Movie\comic24.dat",42)
  455. ElseIf ObjektChar_Att_Typus(1) = 4
  456.  Play_Movie("Movie\comic25.dat",28)
  457. EndIf
  458. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(1): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  459. ;Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  460. ;Entscheidung = Comic_Entscheidung(22)
  461. ;If Entscheidung = 1      ; Selbst retten
  462. ; For x = 1 To 4
  463. ;  For y = 1 To 2
  464. ;   a.l = NextPackFile()
  465. ;  Next
  466. ; Next
  467. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  468. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  469. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  470. ;ElseIf Entscheidung = 2 ; Anderen retten
  471. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  472. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  473. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  474. ; Load_ComicGFX(): Load_ComicSFX(): Fade_Comic(2): Play_ComicSFX(1): Delay(Global_ComicWavTime)
  475. ;EndIf
  476.  
  477. ;Fade_Comic(3) ; Ausfaden
  478. ProcedureReturn 0; Keine Entscheidung!
  479. EndProcedure
  480. ; Ende Display_Comic22()
  481.  
  482.  
  483. ; Zeigt einen Comic an
  484. Procedure Display_Comic(Nr.l)
  485. StopCD_Audio()
  486. Global_SWMission.l = 0
  487.  
  488. Global_Alarm = 0
  489.  
  490. Sprite3DQuality(1)
  491. ;OpenPack("GFX\comic\Back.pak")
  492. ; CatchSound(Comic_SFX.l+1,NextPackFile())
  493. ; SoundVolume(Comic_SFX.l+1,75)
  494. ; PlaySound(Comic_SFX.l+1)
  495. ;ClosePack()
  496.  
  497.  Filename.s = "GFX\comic\comic" + Str(Nr.l) + ".pak"
  498.  If Nr.l = 2 ; Jessicas Befreiung
  499.   If ObjektChar_Att_Typus(1) = 2 Or ObjektChar_Att_Typus(1) = 4 ; Kenji oder Jess
  500.    Filename.s = "GFX\comic\comic" + Str(3) + ".pak"
  501.   ElseIf ObjektChar_Att_Typus(1) = 3
  502.    Filename.s = "GFX\comic\comic" + Str(4) + ".pak"
  503.   EndIf
  504.  ElseIf Nr.l = 5 ; Jason Flucht vom Dach
  505.   If ObjektChar_Att_Typus(1) = 2 Or ObjektChar_Att_Typus(1) = 4 ; Kenji oder Jess
  506.    Filename.s = "GFX\comic\comic" + Str(6) + ".pak"
  507.   ElseIf ObjektChar_Att_Typus(1) = 3
  508.    Filename.s = "GFX\comic\comic" + Str(7) + ".pak"
  509.   EndIf
  510.  ElseIf Nr.l = 10 ; Absturz in der Wⁿste
  511.   If ObjektChar_Att_Typus(1) = 2
  512.    Filename.s = "GFX\comic\comic" + Str(11) + ".pak"
  513.   ElseIf ObjektChar_Att_Typus(1) = 3
  514.    Filename.s = "GFX\comic\comic" + Str(12) + ".pak"
  515.   ElseIf ObjektChar_Att_Typus(1) = 4
  516.    Filename.s = "GFX\comic\comic" + Str(13) + ".pak"
  517.   EndIf
  518.  ElseIf Nr.l = 14 ; Start in der Wⁿste
  519.   If ObjektChar_Att_Typus(1) = 2
  520.    Filename.s = "GFX\comic\comic" + Str(15) + ".pak"
  521.   ElseIf ObjektChar_Att_Typus(1) = 3
  522.    Filename.s = "GFX\comic\comic" + Str(16) + ".pak"
  523.   ElseIf ObjektChar_Att_Typus(1) = 4
  524.    Filename.s = "GFX\comic\comic" + Str(17) + ".pak"
  525.   EndIf
  526.  ElseIf Nr.l = 18 ; Zweite Flucht in den Kanal
  527.   If ObjektChar_Att_Typus(1) = 2 Or ObjektChar_Att_Typus(1) = 4;(Kenji oder Jess)
  528.    Filename.s = "GFX\comic\comic" + Str(19) + ".pak"
  529.   EndIf 
  530.  ElseIf Nr.l = 20 ; Der Jeep
  531.   If ObjektChar_Att_Typus(1) = 2 Or ObjektChar_Att_Typus(1) = 4;(Kenji oder Jess)
  532.    Filename.s = "GFX\comic\comic" + Str(21) + ".pak"
  533.   EndIf 
  534.  ElseIf Nr.l = 22 ; Opfer Szene
  535.   Love = 0
  536.   If MainChar_MissionStatus(5) = 4 ; Vicky nicht get÷tet
  537.    Love = 1
  538.   EndIf
  539.   If ObjektChar_Att_Typus(1) = 1 And Love = 1 ; John + Vicky Love Story
  540.    Filename.s = "GFX\comic\comic" + Str(23) + ".pak"
  541.   ElseIf ObjektChar_Att_Typus(1) = 3 And Love = 0
  542.    Filename.s = "GFX\comic\comic" + Str(24) + ".pak"
  543.   ElseIf ObjektChar_Att_Typus(1) = 3 And Love = 1
  544.    Filename.s = "GFX\comic\comic" + Str(25) + ".pak"
  545.   ElseIf ObjektChar_Att_Typus(1) = 2 ; Kenji
  546.    Filename.s = "GFX\comic\comic" + Str(26) + ".pak"
  547.   ElseIf ObjektChar_Att_Typus(1) = 4 ; Jessica
  548.    Filename.s = "GFX\comic\comic" + Str(27) + ".pak"
  549.   EndIf
  550.  ElseIf Nr.l = 28 ; Jones der VerrΣter
  551.   If ObjektChar_Att_Typus(1) = 2 ; Kenji
  552.    Filename.s = "GFX\comic\comic" + Str(29) + ".pak"
  553.   ElseIf ObjektChar_Att_Typus(1) = 3 ; Vicky
  554.    Filename.s = "GFX\comic\comic" + Str(30) + ".pak"
  555.   ElseIf ObjektChar_Att_Typus(1) = 4 ; Jess
  556.    Filename.s = "GFX\comic\comic" + Str(31) + ".pak"
  557.   EndIf
  558.  ElseIf Nr.l = 32 ; Osaki betritt den Raum
  559.   Cyborg.l = 1
  560.   If ObjektChar_Att_Typus(1) = 2 And Cyborg.l = 0; Kenji (Mensch)
  561.    Filename.s = "GFX\comic\comic" + Str(33) + ".pak"
  562.   ElseIf ObjektChar_Att_Typus(1) = 2 And Cyborg.l = 1 ; Kenji (Cyborg)
  563.    Filename.s = "GFX\comic\comic" + Str(34) + ".pak"
  564.   ElseIf ObjektChar_Att_Typus(1) = 3 ; Vicky
  565.    Filename.s = "GFX\comic\comic" + Str(35) + ".pak"
  566.   ElseIf ObjektChar_Att_Typus(1) = 4 ; Jess
  567.    Filename.s = "GFX\comic\comic" + Str(36) + ".pak"
  568.   EndIf
  569.  ElseIf Nr.l = 37 ; Osaki stirbt
  570.   If ObjektChar_Att_Typus(1) = 2 ; Kenji
  571.    Filename.s = "GFX\comic\comic" + Str(38) + ".pak"
  572.   ElseIf ObjektChar_Att_Typus(1) = 3 ; Vicky
  573.    Filename.s = "GFX\comic\comic" + Str(39) + ".pak"
  574.   ElseIf ObjektChar_Att_Typus(1) = 4 ; Jess
  575.    Filename.s = "GFX\comic\comic" + Str(40) + ".pak"
  576.   EndIf
  577.  EndIf
  578. ;OpenPack(Filename.s)
  579. If Nr.l = 1: Entscheidung = Display_Comic1(): EndIf
  580. If Nr.l = 2: Entscheidung = Display_Comic2(): EndIf
  581. If Nr.l = 5: Entscheidung = Display_Comic5(): EndIf
  582. If Nr.l = 8: Entscheidung = Display_Comic8(): EndIf
  583. If Nr.l = 9: Entscheidung = Display_Comic9(): EndIf
  584. If Nr.l = 10: Entscheidung = Display_Comic10(): EndIf
  585. If Nr.l = 14: Entscheidung = Display_Comic14(): EndIf
  586. If Nr.l = 18: Entscheidung = Display_Comic18(): EndIf
  587. If Nr.l = 20: Entscheidung = Display_Comic20(): EndIf
  588. If Nr.l = 22: Entscheidung = Display_Comic22(): EndIf
  589.  
  590. ;ClosePack()
  591. Start3D()
  592.  
  593.  If Comic_SFXInNeed = 1
  594.   StopSound(Comic_SFX.l)
  595. ;  StopSound(Comic_SFX.l+1)
  596.   FreeSound(Comic_SFX.l)
  597. ;  FreeSound(Comic_SFX.l+1)
  598.  EndIf
  599.  If Comic_GFXInNeed.l(0) = 1
  600.   FreeSprite3D(Comic_GFX.l)
  601.   FreeSprite(Comic_GFX.l)
  602.  EndIf
  603.  If Comic_GFXInNeed.l(1) = 1
  604.   FreeSprite3D(Comic_GFX.l+1)
  605.   FreeSprite(Comic_GFX.l+1)
  606.  EndIf
  607. Sprite3DQuality(0)
  608. ProcedureReturn Entscheidung
  609. EndProcedure
  610. ; Ende Display_Comic(Nr.l)
  611. ; jaPBe Version=1.3.10.26
  612. ; Build=0
  613. ; FirstLine=113
  614. ; CursorPosition=124
  615. ; ExecutableFormat=Windows
  616. ; Executable=C:\RA\GFX\comic\comic_Player.exe
  617. ; DisableDebugger
  618. ; DontSaveDeclare
  619. ; EOF